//Source file: D:\\aaa\\com\\ce\\pms\\renovation\\model\\PassDO.java

package com.ce.pms.renovation.model;

import java.util.Date;

import javax.persistence.AttributeOverride;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.ce.pms.common.model.SysInfo;
import com.ce.pms.house.model.ImageDomain;
import com.sitechasia.webx.core.model.IDomainObject;

/**
 * 实体名称:出入证 关联数据表:RM_PASS
 *
 * @author yandawei
 * @CreateDate:2008-12-17
 */
@Entity
@Table(name = "RM_PASS")
public class PassDO implements IDomainObject {

	/**
	 *
	 */
	private static final long serialVersionUID = -3808101906015139881L;

	/**
	 * 主键
	 */
	@Id
	@GeneratedValue
	@Column(name = "PASS_ID")
	private Long keyword;

	/**
	 * 出入证号
	 */
	@Column(name = "PASS_NUMBER", nullable = false, length = 15)
	private String passNumber;

	/**
	 * 许可证
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "RENOVATE_LICENCE_ID")
	private RenovateLicenceDO renovateLicence;

	/**
	 * 姓名
	 */
	@Column(name = "NAME", length = 36)
	private String name;

	/**
	 * 性别
	 */
	@Column(name = "SEX", length = 1)
	private String sex;

	/**
	 * 工种
	 */
	@Column(name = "WORK_TYPE", length = 50)
	private String workType;

	/**
	 * 收费状态 001-未收，002-免收，003-已收，004-已退
	 */
	@Column(name="CHARGE_FEE_STATE",nullable = false,length=3)
	private String chargeFeeState;

	/**
	 * 退费状态 001-未收，002-免收，003-已收，004-已退
	 */
	@Column(name="RETURN_FEE_STATE", length=3)
	private String returnFeeState;

	/**
	 * 是否已退还，1-已退 0-未退
	 */
	@Column(name="RETURN_YN",nullable = false ,length=1)
	private String returnYn;


	/**
	 * 身份证
	 */
	@Column(name = "IDENTITY_CARD", length = 36)
	private String identityCard;

	/**
	 * 有效期开始日期
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "BEGIN_DATE")
	private Date beginDate;

	/**
	 * 有效期结束日期
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "END_DATE", nullable = false)
	private Date endDate;

	/**
	 * 照片对象
	 */
	@OneToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "IMAGE_ID")
	private ImageDomain photo;

	/**
	 * 系统信息
	 */
	@Embedded
	@AttributeOverride(name = "sysDate", column = @Column(name = "SYS_DATE"))
	private SysInfo sysInfo;

	/**
	 * 无参构造子
	 *
	 * @roseuid 493E228403A9
	 */
	public PassDO() {

	}

	public PassDO(Long keyword) {
		super();
		this.keyword = keyword;
	}

	public Date getBeginDate() {
		return beginDate;
	}

	public void setBeginDate(Date beginDate) {
		this.beginDate = beginDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public String getIdentityCard() {
		return identityCard;
	}

	public void setIdentityCard(String identityCard) {
		this.identityCard = identityCard;
	}

	public Long getKeyword() {
		return keyword;
	}

	public void setKeyword(Long keyword) {
		this.keyword = keyword;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassNumber() {
		return passNumber;
	}

	public void setPassNumber(String passNumber) {
		this.passNumber = passNumber;
	}

	public ImageDomain getPhoto() {
		return photo;
	}

	public void setPhoto(ImageDomain photo) {
		this.photo = photo;
	}

	public RenovateLicenceDO getRenovateLicence() {
		return renovateLicence;
	}

	public void setRenovateLicence(RenovateLicenceDO renovateLicence) {
		this.renovateLicence = renovateLicence;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public SysInfo getSysInfo() {
		return sysInfo;
	}

	public void setSysInfo(SysInfo sysInfo) {
		this.sysInfo = sysInfo;
	}

	public String getWorkType() {
		return workType;
	}

	public void setWorkType(String workType) {
		this.workType = workType;
	}

	public String getChargeFeeState() {
		return chargeFeeState;
	}

	public void setChargeFeeState(String chargeFeeState) {
		this.chargeFeeState = chargeFeeState;
	}

	public String getReturnFeeState() {
		return returnFeeState;
	}

	public void setReturnFeeState(String returnFeeState) {
		this.returnFeeState = returnFeeState;
	}

	public String getReturnYn() {
		return returnYn;
	}

	public void setReturnYn(String returnYn) {
		this.returnYn = returnYn;
	}






}
